qdockwidget_undocked_notification
authorDebian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
Sun, 20 Oct 2019 19:33:00 +0000 (20:33 +0100)
committerDmitry Shachnev <mitya57@debian.org>
Sun, 20 Oct 2019 19:33:00 +0000 (20:33 +0100)
Gbp-Pq: Name qdockwidget_undocked_notification.diff

src/widgets/widgets/qdockwidget.cpp
tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp

index 6c871aae2c0ae7fcd86b5b3f88897cf10d662c3e..19fc2d16771efb582130c160a36d30b2824bdf42 100644 (file)
@@ -1171,6 +1171,8 @@ void QDockWidgetPrivate::setWindowState(bool floating, bool unplug, const QRect
             QMainWindowLayout *mwlayout = qt_mainwindow_layout_from_dock(q);
             if (mwlayout)
                 emit q->dockLocationChanged(mwlayout->dockWidgetArea(q));
+        } else {
+            emit q->dockLocationChanged(Qt::NoDockWidgetArea);
         }
     }
 
index 078a3215fd33efc84f147e735756790f5ca09c54..99008c737807e22ae9505c7d668710839d19852b 100644 (file)
@@ -669,7 +669,11 @@ void tst_QDockWidget::dockLocationChanged()
     spy.clear();
 
     dw.setFloating(true);
-    QTest::qWait(100);
+    QTRY_COMPARE(spy.count(), 1);
+    QCOMPARE(qvariant_cast<Qt::DockWidgetArea>(spy.at(0).at(0)),
+             Qt::NoDockWidgetArea);
+    spy.clear();
+
     dw.setFloating(false);
     QTRY_COMPARE(spy.count(), 1);
     QCOMPARE(qvariant_cast<Qt::DockWidgetArea>(spy.at(0).at(0)),